import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../views/Login.vue'
import Home from '../views/Home.vue'
import Welcome from '../components/Welcome.vue';
import Users from '../components/user/Users.vue';
import Rights from '../components/power/Rights.vue';
import Roles from '../components/power/Roles.vue';
import Cate from '../components/goods/Cate.vue';
import Params from '../components/goods/Params.vue';
import goodsList from '../components/goods/goodsList.vue';
import Add from '../components/goods/Add.vue';
import Order from '../components/order/Order.vue';
import Report from '../components/report/Report.vue';
Vue.use(VueRouter)

const routes = [
  {
    /* 重定向到Login组件 */
    path:'/',
    redirect:'/Login'
  },

  {
    path:'/login',
    component:Login
  },

  {
    path:'/home',
    component:Home, 
    redirect:'/home/welcome',
    children:[
              {path: 'welcome', component: Welcome},
              {path: '/users', component: Users},
              {path: '/rights', component: Rights}, 
              {path: '/roles', component: Roles},
              {path: '/categories', component: Cate},
              {path:'/params', component: Params},
              {path:'/goods', component: goodsList},
              {path:'/goods/add', component: Add},
              {path:'/orders', component: Order},
              {path:'/reports', component: Report},
            ],
  },

  

]

const router = new VueRouter({
  routes
})

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
  //to 将要访问的路径
  //from 代表从哪个路径跳转而来
  //next 是一个函数，表示放行
  // next() 放行   next('/login') 强转跳转到指定页面
  if(to.path === '/login'){
    return next();
  }else{
    //获取token
    const tokenStr = window.sessionStorage.getItem('token');
    if(!tokenStr){
      return next('/login');  
    }else{
      /* 有token  放行 */
      next();
    }
  }
})
export default router
